package main

import "fmt"
// 空接口：所有的类型都实现了这个接口：任意类型的变量都能保存在这个接口中

// 作为参数
// 实现print类型和值函数
func print(a interface{})  {
	fmt.Printf("%T - %v\n",a,a)
	
}

func main()  {
	var m1 map[string]interface{}  // 作为map值的类型
	m1 = make(map[string]interface{}, 16)
	m1["name"]="致幻"
	m1["age"]=28
	m1["merried"]=false
	m1["hobby"]=[...]string{"唱","跳","rap"}
	fmt.Printf("%#v \n",m1)
	fmt.Println(m1)
	print("字符串")
	print(true)
	print(123)
	print(m1)
}